package com.fc.v2.model.auto;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import cn.hutool.core.util.StrUtil;

/**
 * 专家鉴定评分 ScoreProjectExample
 * @author Archie_自动生成
 * @date 2021-11-15 10:58:33
 */
public class ScoreProjectExample {

    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ScoreProjectExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }
        
				
        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }
        
				
        public Criteria andProjectIdIsNull() {
            addCriterion("project_id is null");
            return (Criteria) this;
        }

        public Criteria andProjectIdIsNotNull() {
            addCriterion("project_id is not null");
            return (Criteria) this;
        }

        public Criteria andProjectIdEqualTo(String value) {
            addCriterion("project_id =", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotEqualTo(String value) {
            addCriterion("project_id <>", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThan(String value) {
            addCriterion("project_id >", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThanOrEqualTo(String value) {
            addCriterion("project_id >=", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThan(String value) {
            addCriterion("project_id <", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThanOrEqualTo(String value) {
            addCriterion("project_id <=", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdLike(String value) {
            addCriterion("project_id like", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotLike(String value) {
            addCriterion("project_id not like", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdIn(List<String> values) {
            addCriterion("project_id in", values, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotIn(List<String> values) {
            addCriterion("project_id not in", values, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdBetween(String value1, String value2) {
            addCriterion("project_id between", value1, value2, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotBetween(String value1, String value2) {
            addCriterion("project_id not between", value1, value2, "projectId");
            return (Criteria) this;
        }
        
				
        public Criteria andExpertIdIsNull() {
            addCriterion("expert_id is null");
            return (Criteria) this;
        }

        public Criteria andExpertIdIsNotNull() {
            addCriterion("expert_id is not null");
            return (Criteria) this;
        }

        public Criteria andExpertIdEqualTo(String value) {
            addCriterion("expert_id =", value, "expertId");
            return (Criteria) this;
        }

        public Criteria andExpertIdNotEqualTo(String value) {
            addCriterion("expert_id <>", value, "expertId");
            return (Criteria) this;
        }

        public Criteria andExpertIdGreaterThan(String value) {
            addCriterion("expert_id >", value, "expertId");
            return (Criteria) this;
        }

        public Criteria andExpertIdGreaterThanOrEqualTo(String value) {
            addCriterion("expert_id >=", value, "expertId");
            return (Criteria) this;
        }

        public Criteria andExpertIdLessThan(String value) {
            addCriterion("expert_id <", value, "expertId");
            return (Criteria) this;
        }

        public Criteria andExpertIdLessThanOrEqualTo(String value) {
            addCriterion("expert_id <=", value, "expertId");
            return (Criteria) this;
        }

        public Criteria andExpertIdLike(String value) {
            addCriterion("expert_id like", value, "expertId");
            return (Criteria) this;
        }

        public Criteria andExpertIdNotLike(String value) {
            addCriterion("expert_id not like", value, "expertId");
            return (Criteria) this;
        }

        public Criteria andExpertIdIn(List<String> values) {
            addCriterion("expert_id in", values, "expertId");
            return (Criteria) this;
        }

        public Criteria andExpertIdNotIn(List<String> values) {
            addCriterion("expert_id not in", values, "expertId");
            return (Criteria) this;
        }

        public Criteria andExpertIdBetween(String value1, String value2) {
            addCriterion("expert_id between", value1, value2, "expertId");
            return (Criteria) this;
        }

        public Criteria andExpertIdNotBetween(String value1, String value2) {
            addCriterion("expert_id not between", value1, value2, "expertId");
            return (Criteria) this;
        }
        
				
        public Criteria andScoreValueIsNull() {
            addCriterion("score_value is null");
            return (Criteria) this;
        }

        public Criteria andScoreValueIsNotNull() {
            addCriterion("score_value is not null");
            return (Criteria) this;
        }

        public Criteria andScoreValueEqualTo(Integer value) {
            addCriterion("score_value =", value, "scoreValue");
            return (Criteria) this;
        }

        public Criteria andScoreValueNotEqualTo(Integer value) {
            addCriterion("score_value <>", value, "scoreValue");
            return (Criteria) this;
        }

        public Criteria andScoreValueGreaterThan(Integer value) {
            addCriterion("score_value >", value, "scoreValue");
            return (Criteria) this;
        }

        public Criteria andScoreValueGreaterThanOrEqualTo(Integer value) {
            addCriterion("score_value >=", value, "scoreValue");
            return (Criteria) this;
        }

        public Criteria andScoreValueLessThan(Integer value) {
            addCriterion("score_value <", value, "scoreValue");
            return (Criteria) this;
        }

        public Criteria andScoreValueLessThanOrEqualTo(Integer value) {
            addCriterion("score_value <=", value, "scoreValue");
            return (Criteria) this;
        }

        public Criteria andScoreValueLike(Integer value) {
            addCriterion("score_value like", value, "scoreValue");
            return (Criteria) this;
        }

        public Criteria andScoreValueNotLike(Integer value) {
            addCriterion("score_value not like", value, "scoreValue");
            return (Criteria) this;
        }

        public Criteria andScoreValueIn(List<Integer> values) {
            addCriterion("score_value in", values, "scoreValue");
            return (Criteria) this;
        }

        public Criteria andScoreValueNotIn(List<Integer> values) {
            addCriterion("score_value not in", values, "scoreValue");
            return (Criteria) this;
        }

        public Criteria andScoreValueBetween(Integer value1, Integer value2) {
            addCriterion("score_value between", value1, value2, "scoreValue");
            return (Criteria) this;
        }

        public Criteria andScoreValueNotBetween(Integer value1, Integer value2) {
            addCriterion("score_value not between", value1, value2, "scoreValue");
            return (Criteria) this;
        }
        
				
        public Criteria andScoreReliabilityIsNull() {
            addCriterion("score_reliability is null");
            return (Criteria) this;
        }

        public Criteria andScoreReliabilityIsNotNull() {
            addCriterion("score_reliability is not null");
            return (Criteria) this;
        }

        public Criteria andScoreReliabilityEqualTo(Integer value) {
            addCriterion("score_reliability =", value, "scoreReliability");
            return (Criteria) this;
        }

        public Criteria andScoreReliabilityNotEqualTo(Integer value) {
            addCriterion("score_reliability <>", value, "scoreReliability");
            return (Criteria) this;
        }

        public Criteria andScoreReliabilityGreaterThan(Integer value) {
            addCriterion("score_reliability >", value, "scoreReliability");
            return (Criteria) this;
        }

        public Criteria andScoreReliabilityGreaterThanOrEqualTo(Integer value) {
            addCriterion("score_reliability >=", value, "scoreReliability");
            return (Criteria) this;
        }

        public Criteria andScoreReliabilityLessThan(Integer value) {
            addCriterion("score_reliability <", value, "scoreReliability");
            return (Criteria) this;
        }

        public Criteria andScoreReliabilityLessThanOrEqualTo(Integer value) {
            addCriterion("score_reliability <=", value, "scoreReliability");
            return (Criteria) this;
        }

        public Criteria andScoreReliabilityLike(Integer value) {
            addCriterion("score_reliability like", value, "scoreReliability");
            return (Criteria) this;
        }

        public Criteria andScoreReliabilityNotLike(Integer value) {
            addCriterion("score_reliability not like", value, "scoreReliability");
            return (Criteria) this;
        }

        public Criteria andScoreReliabilityIn(List<Integer> values) {
            addCriterion("score_reliability in", values, "scoreReliability");
            return (Criteria) this;
        }

        public Criteria andScoreReliabilityNotIn(List<Integer> values) {
            addCriterion("score_reliability not in", values, "scoreReliability");
            return (Criteria) this;
        }

        public Criteria andScoreReliabilityBetween(Integer value1, Integer value2) {
            addCriterion("score_reliability between", value1, value2, "scoreReliability");
            return (Criteria) this;
        }

        public Criteria andScoreReliabilityNotBetween(Integer value1, Integer value2) {
            addCriterion("score_reliability not between", value1, value2, "scoreReliability");
            return (Criteria) this;
        }
        
				
        public Criteria andScorePracticabilityIsNull() {
            addCriterion("score_practicability is null");
            return (Criteria) this;
        }

        public Criteria andScorePracticabilityIsNotNull() {
            addCriterion("score_practicability is not null");
            return (Criteria) this;
        }

        public Criteria andScorePracticabilityEqualTo(Integer value) {
            addCriterion("score_practicability =", value, "scorePracticability");
            return (Criteria) this;
        }

        public Criteria andScorePracticabilityNotEqualTo(Integer value) {
            addCriterion("score_practicability <>", value, "scorePracticability");
            return (Criteria) this;
        }

        public Criteria andScorePracticabilityGreaterThan(Integer value) {
            addCriterion("score_practicability >", value, "scorePracticability");
            return (Criteria) this;
        }

        public Criteria andScorePracticabilityGreaterThanOrEqualTo(Integer value) {
            addCriterion("score_practicability >=", value, "scorePracticability");
            return (Criteria) this;
        }

        public Criteria andScorePracticabilityLessThan(Integer value) {
            addCriterion("score_practicability <", value, "scorePracticability");
            return (Criteria) this;
        }

        public Criteria andScorePracticabilityLessThanOrEqualTo(Integer value) {
            addCriterion("score_practicability <=", value, "scorePracticability");
            return (Criteria) this;
        }

        public Criteria andScorePracticabilityLike(Integer value) {
            addCriterion("score_practicability like", value, "scorePracticability");
            return (Criteria) this;
        }

        public Criteria andScorePracticabilityNotLike(Integer value) {
            addCriterion("score_practicability not like", value, "scorePracticability");
            return (Criteria) this;
        }

        public Criteria andScorePracticabilityIn(List<Integer> values) {
            addCriterion("score_practicability in", values, "scorePracticability");
            return (Criteria) this;
        }

        public Criteria andScorePracticabilityNotIn(List<Integer> values) {
            addCriterion("score_practicability not in", values, "scorePracticability");
            return (Criteria) this;
        }

        public Criteria andScorePracticabilityBetween(Integer value1, Integer value2) {
            addCriterion("score_practicability between", value1, value2, "scorePracticability");
            return (Criteria) this;
        }

        public Criteria andScorePracticabilityNotBetween(Integer value1, Integer value2) {
            addCriterion("score_practicability not between", value1, value2, "scorePracticability");
            return (Criteria) this;
        }
        
				
        public Criteria andScoreResearchIsNull() {
            addCriterion("score_research is null");
            return (Criteria) this;
        }

        public Criteria andScoreResearchIsNotNull() {
            addCriterion("score_research is not null");
            return (Criteria) this;
        }

        public Criteria andScoreResearchEqualTo(Integer value) {
            addCriterion("score_research =", value, "scoreResearch");
            return (Criteria) this;
        }

        public Criteria andScoreResearchNotEqualTo(Integer value) {
            addCriterion("score_research <>", value, "scoreResearch");
            return (Criteria) this;
        }

        public Criteria andScoreResearchGreaterThan(Integer value) {
            addCriterion("score_research >", value, "scoreResearch");
            return (Criteria) this;
        }

        public Criteria andScoreResearchGreaterThanOrEqualTo(Integer value) {
            addCriterion("score_research >=", value, "scoreResearch");
            return (Criteria) this;
        }

        public Criteria andScoreResearchLessThan(Integer value) {
            addCriterion("score_research <", value, "scoreResearch");
            return (Criteria) this;
        }

        public Criteria andScoreResearchLessThanOrEqualTo(Integer value) {
            addCriterion("score_research <=", value, "scoreResearch");
            return (Criteria) this;
        }

        public Criteria andScoreResearchLike(Integer value) {
            addCriterion("score_research like", value, "scoreResearch");
            return (Criteria) this;
        }

        public Criteria andScoreResearchNotLike(Integer value) {
            addCriterion("score_research not like", value, "scoreResearch");
            return (Criteria) this;
        }

        public Criteria andScoreResearchIn(List<Integer> values) {
            addCriterion("score_research in", values, "scoreResearch");
            return (Criteria) this;
        }

        public Criteria andScoreResearchNotIn(List<Integer> values) {
            addCriterion("score_research not in", values, "scoreResearch");
            return (Criteria) this;
        }

        public Criteria andScoreResearchBetween(Integer value1, Integer value2) {
            addCriterion("score_research between", value1, value2, "scoreResearch");
            return (Criteria) this;
        }

        public Criteria andScoreResearchNotBetween(Integer value1, Integer value2) {
            addCriterion("score_research not between", value1, value2, "scoreResearch");
            return (Criteria) this;
        }
        
				
        public Criteria andScoreMaterialIsNull() {
            addCriterion("score_material is null");
            return (Criteria) this;
        }

        public Criteria andScoreMaterialIsNotNull() {
            addCriterion("score_material is not null");
            return (Criteria) this;
        }

        public Criteria andScoreMaterialEqualTo(Integer value) {
            addCriterion("score_material =", value, "scoreMaterial");
            return (Criteria) this;
        }

        public Criteria andScoreMaterialNotEqualTo(Integer value) {
            addCriterion("score_material <>", value, "scoreMaterial");
            return (Criteria) this;
        }

        public Criteria andScoreMaterialGreaterThan(Integer value) {
            addCriterion("score_material >", value, "scoreMaterial");
            return (Criteria) this;
        }

        public Criteria andScoreMaterialGreaterThanOrEqualTo(Integer value) {
            addCriterion("score_material >=", value, "scoreMaterial");
            return (Criteria) this;
        }

        public Criteria andScoreMaterialLessThan(Integer value) {
            addCriterion("score_material <", value, "scoreMaterial");
            return (Criteria) this;
        }

        public Criteria andScoreMaterialLessThanOrEqualTo(Integer value) {
            addCriterion("score_material <=", value, "scoreMaterial");
            return (Criteria) this;
        }

        public Criteria andScoreMaterialLike(Integer value) {
            addCriterion("score_material like", value, "scoreMaterial");
            return (Criteria) this;
        }

        public Criteria andScoreMaterialNotLike(Integer value) {
            addCriterion("score_material not like", value, "scoreMaterial");
            return (Criteria) this;
        }

        public Criteria andScoreMaterialIn(List<Integer> values) {
            addCriterion("score_material in", values, "scoreMaterial");
            return (Criteria) this;
        }

        public Criteria andScoreMaterialNotIn(List<Integer> values) {
            addCriterion("score_material not in", values, "scoreMaterial");
            return (Criteria) this;
        }

        public Criteria andScoreMaterialBetween(Integer value1, Integer value2) {
            addCriterion("score_material between", value1, value2, "scoreMaterial");
            return (Criteria) this;
        }

        public Criteria andScoreMaterialNotBetween(Integer value1, Integer value2) {
            addCriterion("score_material not between", value1, value2, "scoreMaterial");
            return (Criteria) this;
        }
        
				
        public Criteria andScoreRankIsNull() {
            addCriterion("score_rank is null");
            return (Criteria) this;
        }

        public Criteria andScoreRankIsNotNull() {
            addCriterion("score_rank is not null");
            return (Criteria) this;
        }

        public Criteria andScoreRankEqualTo(Integer value) {
            addCriterion("score_rank =", value, "scoreRank");
            return (Criteria) this;
        }

        public Criteria andScoreRankNotEqualTo(Integer value) {
            addCriterion("score_rank <>", value, "scoreRank");
            return (Criteria) this;
        }

        public Criteria andScoreRankGreaterThan(Integer value) {
            addCriterion("score_rank >", value, "scoreRank");
            return (Criteria) this;
        }

        public Criteria andScoreRankGreaterThanOrEqualTo(Integer value) {
            addCriterion("score_rank >=", value, "scoreRank");
            return (Criteria) this;
        }

        public Criteria andScoreRankLessThan(Integer value) {
            addCriterion("score_rank <", value, "scoreRank");
            return (Criteria) this;
        }

        public Criteria andScoreRankLessThanOrEqualTo(Integer value) {
            addCriterion("score_rank <=", value, "scoreRank");
            return (Criteria) this;
        }

        public Criteria andScoreRankLike(Integer value) {
            addCriterion("score_rank like", value, "scoreRank");
            return (Criteria) this;
        }

        public Criteria andScoreRankNotLike(Integer value) {
            addCriterion("score_rank not like", value, "scoreRank");
            return (Criteria) this;
        }

        public Criteria andScoreRankIn(List<Integer> values) {
            addCriterion("score_rank in", values, "scoreRank");
            return (Criteria) this;
        }

        public Criteria andScoreRankNotIn(List<Integer> values) {
            addCriterion("score_rank not in", values, "scoreRank");
            return (Criteria) this;
        }

        public Criteria andScoreRankBetween(Integer value1, Integer value2) {
            addCriterion("score_rank between", value1, value2, "scoreRank");
            return (Criteria) this;
        }

        public Criteria andScoreRankNotBetween(Integer value1, Integer value2) {
            addCriterion("score_rank not between", value1, value2, "scoreRank");
            return (Criteria) this;
        }
        
				
        public Criteria andScorePublishIsNull() {
            addCriterion("score_publish is null");
            return (Criteria) this;
        }

        public Criteria andScorePublishIsNotNull() {
            addCriterion("score_publish is not null");
            return (Criteria) this;
        }

        public Criteria andScorePublishEqualTo(Integer value) {
            addCriterion("score_publish =", value, "scorePublish");
            return (Criteria) this;
        }

        public Criteria andScorePublishNotEqualTo(Integer value) {
            addCriterion("score_publish <>", value, "scorePublish");
            return (Criteria) this;
        }

        public Criteria andScorePublishGreaterThan(Integer value) {
            addCriterion("score_publish >", value, "scorePublish");
            return (Criteria) this;
        }

        public Criteria andScorePublishGreaterThanOrEqualTo(Integer value) {
            addCriterion("score_publish >=", value, "scorePublish");
            return (Criteria) this;
        }

        public Criteria andScorePublishLessThan(Integer value) {
            addCriterion("score_publish <", value, "scorePublish");
            return (Criteria) this;
        }

        public Criteria andScorePublishLessThanOrEqualTo(Integer value) {
            addCriterion("score_publish <=", value, "scorePublish");
            return (Criteria) this;
        }

        public Criteria andScorePublishLike(Integer value) {
            addCriterion("score_publish like", value, "scorePublish");
            return (Criteria) this;
        }

        public Criteria andScorePublishNotLike(Integer value) {
            addCriterion("score_publish not like", value, "scorePublish");
            return (Criteria) this;
        }

        public Criteria andScorePublishIn(List<Integer> values) {
            addCriterion("score_publish in", values, "scorePublish");
            return (Criteria) this;
        }

        public Criteria andScorePublishNotIn(List<Integer> values) {
            addCriterion("score_publish not in", values, "scorePublish");
            return (Criteria) this;
        }

        public Criteria andScorePublishBetween(Integer value1, Integer value2) {
            addCriterion("score_publish between", value1, value2, "scorePublish");
            return (Criteria) this;
        }

        public Criteria andScorePublishNotBetween(Integer value1, Integer value2) {
            addCriterion("score_publish not between", value1, value2, "scorePublish");
            return (Criteria) this;
        }
        
				
        public Criteria andAdviceContentIsNull() {
            addCriterion("advice_content is null");
            return (Criteria) this;
        }

        public Criteria andAdviceContentIsNotNull() {
            addCriterion("advice_content is not null");
            return (Criteria) this;
        }

        public Criteria andAdviceContentEqualTo(String value) {
            addCriterion("advice_content =", value, "adviceContent");
            return (Criteria) this;
        }

        public Criteria andAdviceContentNotEqualTo(String value) {
            addCriterion("advice_content <>", value, "adviceContent");
            return (Criteria) this;
        }

        public Criteria andAdviceContentGreaterThan(String value) {
            addCriterion("advice_content >", value, "adviceContent");
            return (Criteria) this;
        }

        public Criteria andAdviceContentGreaterThanOrEqualTo(String value) {
            addCriterion("advice_content >=", value, "adviceContent");
            return (Criteria) this;
        }

        public Criteria andAdviceContentLessThan(String value) {
            addCriterion("advice_content <", value, "adviceContent");
            return (Criteria) this;
        }

        public Criteria andAdviceContentLessThanOrEqualTo(String value) {
            addCriterion("advice_content <=", value, "adviceContent");
            return (Criteria) this;
        }

        public Criteria andAdviceContentLike(String value) {
            addCriterion("advice_content like", value, "adviceContent");
            return (Criteria) this;
        }

        public Criteria andAdviceContentNotLike(String value) {
            addCriterion("advice_content not like", value, "adviceContent");
            return (Criteria) this;
        }

        public Criteria andAdviceContentIn(List<String> values) {
            addCriterion("advice_content in", values, "adviceContent");
            return (Criteria) this;
        }

        public Criteria andAdviceContentNotIn(List<String> values) {
            addCriterion("advice_content not in", values, "adviceContent");
            return (Criteria) this;
        }

        public Criteria andAdviceContentBetween(String value1, String value2) {
            addCriterion("advice_content between", value1, value2, "adviceContent");
            return (Criteria) this;
        }

        public Criteria andAdviceContentNotBetween(String value1, String value2) {
            addCriterion("advice_content not between", value1, value2, "adviceContent");
            return (Criteria) this;
        }
        
				
        public Criteria andAdvicePublicIsNull() {
            addCriterion("advice_public is null");
            return (Criteria) this;
        }

        public Criteria andAdvicePublicIsNotNull() {
            addCriterion("advice_public is not null");
            return (Criteria) this;
        }

        public Criteria andAdvicePublicEqualTo(Integer value) {
            addCriterion("advice_public =", value, "advicePublic");
            return (Criteria) this;
        }

        public Criteria andAdvicePublicNotEqualTo(Integer value) {
            addCriterion("advice_public <>", value, "advicePublic");
            return (Criteria) this;
        }

        public Criteria andAdvicePublicGreaterThan(Integer value) {
            addCriterion("advice_public >", value, "advicePublic");
            return (Criteria) this;
        }

        public Criteria andAdvicePublicGreaterThanOrEqualTo(Integer value) {
            addCriterion("advice_public >=", value, "advicePublic");
            return (Criteria) this;
        }

        public Criteria andAdvicePublicLessThan(Integer value) {
            addCriterion("advice_public <", value, "advicePublic");
            return (Criteria) this;
        }

        public Criteria andAdvicePublicLessThanOrEqualTo(Integer value) {
            addCriterion("advice_public <=", value, "advicePublic");
            return (Criteria) this;
        }

        public Criteria andAdvicePublicLike(Integer value) {
            addCriterion("advice_public like", value, "advicePublic");
            return (Criteria) this;
        }

        public Criteria andAdvicePublicNotLike(Integer value) {
            addCriterion("advice_public not like", value, "advicePublic");
            return (Criteria) this;
        }

        public Criteria andAdvicePublicIn(List<Integer> values) {
            addCriterion("advice_public in", values, "advicePublic");
            return (Criteria) this;
        }

        public Criteria andAdvicePublicNotIn(List<Integer> values) {
            addCriterion("advice_public not in", values, "advicePublic");
            return (Criteria) this;
        }

        public Criteria andAdvicePublicBetween(Integer value1, Integer value2) {
            addCriterion("advice_public between", value1, value2, "advicePublic");
            return (Criteria) this;
        }

        public Criteria andAdvicePublicNotBetween(Integer value1, Integer value2) {
            addCriterion("advice_public not between", value1, value2, "advicePublic");
            return (Criteria) this;
        }
        
				
        public Criteria andScoreTotalIsNull() {
            addCriterion("score_total is null");
            return (Criteria) this;
        }

        public Criteria andScoreTotalIsNotNull() {
            addCriterion("score_total is not null");
            return (Criteria) this;
        }

        public Criteria andScoreTotalEqualTo(String value) {
            addCriterion("score_total =", value, "score_total");
            return (Criteria) this;
        }

        public Criteria andScoreTotalNotEqualTo(String value) {
            addCriterion("score_total <>", value, "score_total");
            return (Criteria) this;
        }

        public Criteria andScoreTotalGreaterThan(String value) {
            addCriterion("score_total >", value, "score_total");
            return (Criteria) this;
        }

        public Criteria andScoreTotalGreaterThanOrEqualTo(String value) {
            addCriterion("score_total >=", value, "score_total");
            return (Criteria) this;
        }

        public Criteria andScoreTotalLessThan(String value) {
            addCriterion("score_total <", value, "score_total");
            return (Criteria) this;
        }

        public Criteria andScoreTotalLessThanOrEqualTo(String value) {
            addCriterion("score_total <=", value, "score_total");
            return (Criteria) this;
        }

        public Criteria andScoreTotalLike(String value) {
            addCriterion("score_total like", value, "score_total");
            return (Criteria) this;
        }

        public Criteria andScoreTotalNotLike(String value) {
            addCriterion("score_total not like", value, "score_total");
            return (Criteria) this;
        }

        public Criteria andScoreTotalIn(List<String> values) {
            addCriterion("score_total in", values, "score_total");
            return (Criteria) this;
        }

        public Criteria andScoreTotalNotIn(List<String> values) {
            addCriterion("score_total not in", values, "score_total");
            return (Criteria) this;
        }

        public Criteria andScoreTotalBetween(String value1, String value2) {
            addCriterion("score_total between", value1, value2, "score_total");
            return (Criteria) this;
        }

        public Criteria andScoreTotalNotBetween(String value1, String value2) {
            addCriterion("score_total not between", value1, value2, "score_total");
            return (Criteria) this;
        }
        
				
        public Criteria andOther2IsNull() {
            addCriterion("other2 is null");
            return (Criteria) this;
        }

        public Criteria andOther2IsNotNull() {
            addCriterion("other2 is not null");
            return (Criteria) this;
        }

        public Criteria andOther2EqualTo(String value) {
            addCriterion("other2 =", value, "other2");
            return (Criteria) this;
        }

        public Criteria andOther2NotEqualTo(String value) {
            addCriterion("other2 <>", value, "other2");
            return (Criteria) this;
        }

        public Criteria andOther2GreaterThan(String value) {
            addCriterion("other2 >", value, "other2");
            return (Criteria) this;
        }

        public Criteria andOther2GreaterThanOrEqualTo(String value) {
            addCriterion("other2 >=", value, "other2");
            return (Criteria) this;
        }

        public Criteria andOther2LessThan(String value) {
            addCriterion("other2 <", value, "other2");
            return (Criteria) this;
        }

        public Criteria andOther2LessThanOrEqualTo(String value) {
            addCriterion("other2 <=", value, "other2");
            return (Criteria) this;
        }

        public Criteria andOther2Like(String value) {
            addCriterion("other2 like", value, "other2");
            return (Criteria) this;
        }

        public Criteria andOther2NotLike(String value) {
            addCriterion("other2 not like", value, "other2");
            return (Criteria) this;
        }

        public Criteria andOther2In(List<String> values) {
            addCriterion("other2 in", values, "other2");
            return (Criteria) this;
        }

        public Criteria andOther2NotIn(List<String> values) {
            addCriterion("other2 not in", values, "other2");
            return (Criteria) this;
        }

        public Criteria andOther2Between(String value1, String value2) {
            addCriterion("other2 between", value1, value2, "other2");
            return (Criteria) this;
        }

        public Criteria andOther2NotBetween(String value1, String value2) {
            addCriterion("other2 not between", value1, value2, "other2");
            return (Criteria) this;
        }
        
			
		 public Criteria andLikeQuery(ScoreProject record) {
		 	List<String> list= new ArrayList<String>();
		 	List<String> list2= new ArrayList<String>();
        	StringBuffer buffer=new StringBuffer();
			if(record.getId()!=null&&StrUtil.isNotEmpty(record.getId().toString())) {
    			 list.add("ifnull(id,'')");
    		}
			if(record.getProjectId()!=null&&StrUtil.isNotEmpty(record.getProjectId().toString())) {
    			 list.add("ifnull(project_id,'')");
    		}
			if(record.getExpertId()!=null&&StrUtil.isNotEmpty(record.getExpertId().toString())) {
    			 list.add("ifnull(expert_id,'')");
    		}
			if(record.getScoreValue()!=null&&StrUtil.isNotEmpty(record.getScoreValue().toString())) {
    			 list.add("ifnull(score_value,'')");
    		}
			if(record.getScoreReliability()!=null&&StrUtil.isNotEmpty(record.getScoreReliability().toString())) {
    			 list.add("ifnull(score_reliability,'')");
    		}
			if(record.getScorePracticability()!=null&&StrUtil.isNotEmpty(record.getScorePracticability().toString())) {
    			 list.add("ifnull(score_practicability,'')");
    		}
			if(record.getScoreResearch()!=null&&StrUtil.isNotEmpty(record.getScoreResearch().toString())) {
    			 list.add("ifnull(score_research,'')");
    		}
			if(record.getScoreMaterial()!=null&&StrUtil.isNotEmpty(record.getScoreMaterial().toString())) {
    			 list.add("ifnull(score_material,'')");
    		}
			if(record.getScoreRank()!=null&&StrUtil.isNotEmpty(record.getScoreRank().toString())) {
    			 list.add("ifnull(score_rank,'')");
    		}
			if(record.getScorePublish()!=null&&StrUtil.isNotEmpty(record.getScorePublish().toString())) {
    			 list.add("ifnull(score_publish,'')");
    		}
			if(record.getAdviceContent()!=null&&StrUtil.isNotEmpty(record.getAdviceContent().toString())) {
    			 list.add("ifnull(advice_content,'')");
    		}
			if(record.getAdvicePublic()!=null&&StrUtil.isNotEmpty(record.getAdvicePublic().toString())) {
    			 list.add("ifnull(advice_public,'')");
    		}
			if(record.getScoreTotal()!=null&&StrUtil.isNotEmpty(record.getScoreTotal().toString())) {
    			 list.add("ifnull(score_total,'')");
    		}
			if(record.getOther2()!=null&&StrUtil.isNotEmpty(record.getOther2().toString())) {
    			 list.add("ifnull(other2,'')");
    		}
			if(record.getId()!=null&&StrUtil.isNotEmpty(record.getId().toString())) {
    			list2.add("'%"+record.getId()+"%'");
    		}
			if(record.getProjectId()!=null&&StrUtil.isNotEmpty(record.getProjectId().toString())) {
    			list2.add("'%"+record.getProjectId()+"%'");
    		}
			if(record.getExpertId()!=null&&StrUtil.isNotEmpty(record.getExpertId().toString())) {
    			list2.add("'%"+record.getExpertId()+"%'");
    		}
			if(record.getScoreValue()!=null&&StrUtil.isNotEmpty(record.getScoreValue().toString())) {
    			list2.add("'%"+record.getScoreValue()+"%'");
    		}
			if(record.getScoreReliability()!=null&&StrUtil.isNotEmpty(record.getScoreReliability().toString())) {
    			list2.add("'%"+record.getScoreReliability()+"%'");
    		}
			if(record.getScorePracticability()!=null&&StrUtil.isNotEmpty(record.getScorePracticability().toString())) {
    			list2.add("'%"+record.getScorePracticability()+"%'");
    		}
			if(record.getScoreResearch()!=null&&StrUtil.isNotEmpty(record.getScoreResearch().toString())) {
    			list2.add("'%"+record.getScoreResearch()+"%'");
    		}
			if(record.getScoreMaterial()!=null&&StrUtil.isNotEmpty(record.getScoreMaterial().toString())) {
    			list2.add("'%"+record.getScoreMaterial()+"%'");
    		}
			if(record.getScoreRank()!=null&&StrUtil.isNotEmpty(record.getScoreRank().toString())) {
    			list2.add("'%"+record.getScoreRank()+"%'");
    		}
			if(record.getScorePublish()!=null&&StrUtil.isNotEmpty(record.getScorePublish().toString())) {
    			list2.add("'%"+record.getScorePublish()+"%'");
    		}
			if(record.getAdviceContent()!=null&&StrUtil.isNotEmpty(record.getAdviceContent().toString())) {
    			list2.add("'%"+record.getAdviceContent()+"%'");
    		}
			if(record.getAdvicePublic()!=null&&StrUtil.isNotEmpty(record.getAdvicePublic().toString())) {
    			list2.add("'%"+record.getAdvicePublic()+"%'");
    		}
			if(record.getScoreTotal()!=null&&StrUtil.isNotEmpty(record.getScoreTotal().toString())) {
    			list2.add("'%"+record.getScoreTotal()+"%'");
    		}
			if(record.getOther2()!=null&&StrUtil.isNotEmpty(record.getOther2().toString())) {
    			list2.add("'%"+record.getOther2()+"%'");
    		}
        	buffer.append(" CONCAT(");
	        buffer.append(StrUtil.join(",",list));
        	buffer.append(")");
        	buffer.append(" like CONCAT(");
        	buffer.append(StrUtil.join(",",list2));
        	buffer.append(")");
        	if(!" CONCAT() like CONCAT()".equals(buffer.toString())) {
        		addCriterion(buffer.toString());
        	}
        	return (Criteria) this;
        }
        
        public Criteria andLikeQuery2(String searchText) {
		 	List<String> list= new ArrayList<String>();
        	StringBuffer buffer=new StringBuffer();
    		list.add("ifnull(id,'')");
    		list.add("ifnull(project_id,'')");
    		list.add("ifnull(expert_id,'')");
    		list.add("ifnull(score_value,'')");
    		list.add("ifnull(score_reliability,'')");
    		list.add("ifnull(score_practicability,'')");
    		list.add("ifnull(score_research,'')");
    		list.add("ifnull(score_material,'')");
    		list.add("ifnull(score_rank,'')");
    		list.add("ifnull(score_publish,'')");
    		list.add("ifnull(advice_content,'')");
    		list.add("ifnull(advice_public,'')");
    		list.add("ifnull(score_total,'')");
    		list.add("ifnull(other2,'')");
        	buffer.append(" CONCAT(");
	        buffer.append(StrUtil.join(",",list));
        	buffer.append(")");
        	buffer.append("like '%");
        	buffer.append(searchText);
        	buffer.append("%'");
        	addCriterion(buffer.toString());
        	return (Criteria) this;
        }
        
}
	
    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}